#ifndef WYZKR688RFSWDLL_H
#define WYZKR688RFSWDLL_H

#include <QFile>
#include <QTextStream>
#include <QObject>
#include <QWidget>

#define tecPluginInterface_IDD "tecPluginInterface_idd"

class tecPluginInterface : public QWidget{
Q_OBJECT
public:
     ~tecPluginInterface() {}
     tecPluginInterface()  {}

     virtual QWidget* RegisiterPluginUi() = 0;

     virtual void FastTimerLoop() = 0;
     virtual void SlowTimerLoop() = 0;

     virtual void RegisterMainInitTask() = 0;
     virtual void RegisterMainLoopTask() = 0;

     virtual void BackendDataRecv(QByteArray Data) = 0;
     virtual void BackendDataSend(QByteArray& Data) = 0;
};

Q_DECLARE_INTERFACE(tecPluginInterface, tecPluginInterface_IDD)

class  WyZkR688RFSWDLL : public tecPluginInterface{
Q_OBJECT
Q_PLUGIN_METADATA(IID "tecPluginInterface_idd")
Q_INTERFACES(tecPluginInterface)

public:
    WyZkR688RFSWDLL();
    ~WyZkR688RFSWDLL();

    QWidget* RegisiterPluginUi();

    void FastTimerLoop();
    void SlowTimerLoop();

    void RegisterMainInitTask();
    void RegisterMainLoopTask();

    void BackendDataRecv(QByteArray Data);
    void BackendDataSend(QByteArray& Data);
};
#endif // WYZKR688RFSWDLL_H
